package com.ldk.framework.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.ldk.base.framework.entity.BaseEntity;
import org.codehaus.jackson.annotate.JsonIgnore;

/**
 * ServiceTrip实体类
 *
 * @author xiangwl
 */
public class ServiceTrip extends BaseEntity {

    private static final long serialVersionUID = -8119162597340821096L;
    /**
     * 行程编号
     */
    private java.lang.String tripNo;
    /**
     * 服务业务代码
     */
    private java.lang.String serviceCode;
    /**
     * 发布行程的用户类型1用户2司机
     */
    @JSONField(serialize = false)
    private java.lang.Integer userType;
    /**
     * 用户或司机的openId
     */
    private java.lang.String openId;
    /**
     * 路线ID，专线拼车必须填，其它可以为空
     */
    private java.lang.Long roadId;
    /**
     * 出发地点
     */
    private java.lang.String startLocation;
    /**
     * 出发地点经度
     */
    private java.lang.Double startLon;
    /**
     * 出发地点纬度
     */
    private java.lang.Double startLat;
    /**
     * 目的地点
     */
    private java.lang.String endLocation;
    /**
     * 目的地点经度
     */
    private java.lang.Double endLon;
    /**
     * 目的地点纬度
     */
    private java.lang.Double endLat;
    /**
     * 发布时间
     */
    private java.lang.Long createTime;
    /**
     * 出发时间,司机设定
     */
    private java.lang.Long goTime;
    /**
     * 车等级
     */
    private java.lang.String carRank;
    /**
     * 车座位数
     */
    private java.lang.Integer carSeats;
    /**
     * 状态
     */
    private java.lang.Integer status;
    /**
     * 当前乘客数
     */
    private java.lang.Integer crewCount;
    /**
     * 估算起点到终点的距离，单位米
     */
    private java.lang.Double distance;
    /**
     * 估算起点到终点的时间，单位秒
     */
    private java.lang.Double duration;
    /**
     * 是否已指派
     */
    @JSONField(serialize = false)
    private java.lang.Boolean hasAsign;
    /**
     * 支付费用(预估的)
     */
    private java.lang.Double payFee;
    /**
     * 支付状态
     */
    private java.lang.Integer payStatus;
    /**
     * 支付方式ID
     */
    private java.lang.Integer payId;
    /**
     * 支付方式名称
     */
    private java.lang.String payName;
    /**
     * 支付平台订单号
     */
    private java.lang.String payTradeNo;
    /**
     * 支付时间
     */
    private java.lang.Long payTime;
    /**
     * 实际出发时间
     */
    private java.lang.Long realGoTime;
    /**
     * 只对用户发布的行程有用，接单司机openId
     */
    private java.lang.String driverOpenId;
    /**
     * 完成时间
     */
    private java.lang.Long completeTime;
    /**
     * 是否已评价1已评价0未评价
     */
    private java.lang.Boolean hasComment;
    /**
     * 是否已投诉1已投诉0未投诉
     */
    private java.lang.Boolean hasComplaint;
    /**
     * 计费方式1按行程2按时间 3-一口价
     */
    @JSONField(serialize = false)
    private java.lang.Integer billingMode;
    /**
     * 定金费用
     */
    private java.lang.Double depositPayFee;
    /**
     * 定金支付状态
     */
    private java.lang.Integer depositPayStatus;
    /**
     * 定金支付方式ID
     */
    private java.lang.Integer depositPayId;
    /**
     * 定金支付方式名称
     */
    private java.lang.String depositPayName;
    /**
     * 定金支付平台订单号
     */
    private java.lang.String depositPayTradeNo;
    /**
     * 定金支付时间
     */
    private java.lang.Long depositPayTime;
    /**
     * 备注
     */
    private java.lang.String remark;

    /**
     * 排班id
     */
    private java.lang.Long   schedulId;
    /**
     * 1-实时订单  2-预约订单
     */
    private java.lang.Integer   tripType;
    /**
     * 订单所属分公司编码
     */
    private java.lang.String   companyId;
    /**
     * 订单所属分公司编码
     */
    private java.lang.String   companyName;
    /**
     * 地区id,外键,引用ldk_area
     */
    private java.lang.String   areaCode;
    /**
     * 预约的司机固定ID
     */
    private java.lang.Long dCommonId;
    /**
     * 预计用车时间
     */
    private java.lang.Long departTime;
    /**
     * 关联司机
     */
    private LinkDriver linkDriver;
    /**
     * 关联用户
     */
    private LinkUser linkUser;
    /**
     * 发布司机
     */
    private LinkDriver publishDriver;

    /**
     * 服务机构
     */
    /*private Companyservice companyservice;*/

    /**
     * 管理员地区关键字搜索
     */
    @JSONField(serialize = false)
    @JsonIgnore
    private String searchAreaKey;


    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public Long getSchedulId() {
        return schedulId;
    }

    public void setSchedulId(Long schedulId) {
        this.schedulId = schedulId;
    }

    public Integer getTripType() {
        return tripType;
    }

    public void setTripType(Integer tripType) {
        this.tripType = tripType;
    }

    public java.lang.String getTripNo() {
        return tripNo;
    }

    public void setTripNo(java.lang.String tripNo) {
        this.tripNo = tripNo;
    }

    public java.lang.String getServiceCode() {
        return serviceCode;
    }

    public void setServiceCode(java.lang.String serviceCode) {
        this.serviceCode = serviceCode;
    }

    public java.lang.Integer getUserType() {
        return userType;
    }

    public void setUserType(java.lang.Integer userType) {
        this.userType = userType;
    }

    public java.lang.String getOpenId() {
        return openId;
    }

    public void setOpenId(java.lang.String openId) {
        this.openId = openId;
    }

    public java.lang.Long getRoadId() {
        return roadId;
    }

    public void setRoadId(java.lang.Long roadId) {
        this.roadId = roadId;
    }

    public java.lang.String getStartLocation() {
        return startLocation;
    }

    public void setStartLocation(java.lang.String startLocation) {
        this.startLocation = startLocation;
    }

    public java.lang.Double getStartLon() {
        return startLon;
    }

    public void setStartLon(java.lang.Double startLon) {
        this.startLon = startLon;
    }

    public java.lang.Double getStartLat() {
        return startLat;
    }

    public void setStartLat(java.lang.Double startLat) {
        this.startLat = startLat;
    }

    public java.lang.String getEndLocation() {
        return endLocation;
    }

    public void setEndLocation(java.lang.String endLocation) {
        this.endLocation = endLocation;
    }

    public java.lang.Double getEndLon() {
        return endLon;
    }

    public void setEndLon(java.lang.Double endLon) {
        this.endLon = endLon;
    }

    public java.lang.Double getEndLat() {
        return endLat;
    }

    public void setEndLat(java.lang.Double endLat) {
        this.endLat = endLat;
    }

    public java.lang.Long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(java.lang.Long createTime) {
        this.createTime = createTime;
    }

    public java.lang.Long getGoTime() {
        return goTime;
    }

    public void setGoTime(java.lang.Long goTime) {
        this.goTime = goTime;
    }

    public java.lang.String getCarRank() {
        return carRank;
    }

    public void setCarRank(java.lang.String carRank) {
        this.carRank = carRank;
    }

    public java.lang.Integer getCarSeats() {
        return carSeats;
    }

    public void setCarSeats(java.lang.Integer carSeats) {
        this.carSeats = carSeats;
    }

    public java.lang.Integer getStatus() {
        return status;
    }

    public void setStatus(java.lang.Integer status) {
        this.status = status;
    }

    public java.lang.Integer getCrewCount() {
        return crewCount;
    }

    public void setCrewCount(java.lang.Integer crewCount) {
        this.crewCount = crewCount;
    }

    public java.lang.Double getDistance() {
        return distance;
    }

    public void setDistance(java.lang.Double distance) {
        this.distance = distance;
    }

    public java.lang.Double getDuration() {
        return duration;
    }

    public void setDuration(java.lang.Double duration) {
        this.duration = duration;
    }

    public java.lang.Boolean getHasAsign() {
        return hasAsign;
    }

    public void setHasAsign(java.lang.Boolean hasAsign) {
        this.hasAsign = hasAsign;
    }

    public java.lang.Double getPayFee() {
        return payFee;
    }

    public void setPayFee(java.lang.Double payFee) {
        this.payFee = payFee;
    }

    public java.lang.Integer getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(java.lang.Integer payStatus) {
        this.payStatus = payStatus;
    }

    public java.lang.Integer getPayId() {
        return payId;
    }

    public void setPayId(java.lang.Integer payId) {
        this.payId = payId;
    }

    public java.lang.String getPayName() {
        return payName;
    }

    public void setPayName(java.lang.String payName) {
        this.payName = payName;
    }

    public java.lang.String getPayTradeNo() {
        return payTradeNo;
    }

    public void setPayTradeNo(java.lang.String payTradeNo) {
        this.payTradeNo = payTradeNo;
    }

    public java.lang.Long getPayTime() {
        return payTime;
    }

    public void setPayTime(java.lang.Long payTime) {
        this.payTime = payTime;
    }

    public java.lang.Long getRealGoTime() {
        return realGoTime;
    }

    public void setRealGoTime(java.lang.Long realGoTime) {
        this.realGoTime = realGoTime;
    }

    public java.lang.String getDriverOpenId() {
        return driverOpenId;
    }

    public void setDriverOpenId(java.lang.String driverOpenId) {
        this.driverOpenId = driverOpenId;
    }

    public java.lang.Long getCompleteTime() {
        return completeTime;
    }

    public void setCompleteTime(java.lang.Long completeTime) {
        this.completeTime = completeTime;
    }

    public java.lang.Boolean getHasComment() {
        return hasComment;
    }

    public void setHasComment(java.lang.Boolean hasComment) {
        this.hasComment = hasComment;
    }

    public java.lang.Integer getBillingMode() {
        return billingMode;
    }

    public java.lang.Boolean getHasComplaint() {
        return hasComplaint;
    }

    public void setHasComplaint(java.lang.Boolean hasComplaint) {
        this.hasComplaint = hasComplaint;
    }

    public void setBillingMode(java.lang.Integer billingMode) {
        this.billingMode = billingMode;
    }

    public java.lang.Double getDepositPayFee() {
        return depositPayFee;
    }

    public void setDepositPayFee(java.lang.Double depositPayFee) {
        this.depositPayFee = depositPayFee;
    }

    public java.lang.Integer getDepositPayStatus() {
        return depositPayStatus;
    }

    public void setDepositPayStatus(java.lang.Integer depositPayStatus) {
        this.depositPayStatus = depositPayStatus;
    }

    public java.lang.Integer getDepositPayId() {
        return depositPayId;
    }

    public void setDepositPayId(java.lang.Integer depositPayId) {
        this.depositPayId = depositPayId;
    }

    public java.lang.String getDepositPayName() {
        return depositPayName;
    }

    public void setDepositPayName(java.lang.String depositPayName) {
        this.depositPayName = depositPayName;
    }

    public java.lang.String getDepositPayTradeNo() {
        return depositPayTradeNo;
    }

    public void setDepositPayTradeNo(java.lang.String depositPayTradeNo) {
        this.depositPayTradeNo = depositPayTradeNo;
    }

    public java.lang.Long getDepositPayTime() {
        return depositPayTime;
    }

    public void setDepositPayTime(java.lang.Long depositPayTime) {
        this.depositPayTime = depositPayTime;
    }

    public java.lang.String getRemark() {
        return remark;
    }

    public void setRemark(java.lang.String remark) {
        this.remark = remark;
    }

    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public String getAreaCode() {
        return areaCode;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }

    public Long getdCommonId() {
        return dCommonId;
    }

    public void setdCommonId(Long dCommonId) {
        this.dCommonId = dCommonId;
    }

    public Long getDepartTime() {
        return departTime;
    }

    public void setDepartTime(Long departTime) {
        this.departTime = departTime;
    }

    public LinkDriver getLinkDriver() {
        return linkDriver;
    }

    public void setLinkDriver(LinkDriver linkDriver) {
        this.linkDriver = linkDriver;
    }

    public LinkUser getLinkUser() {
        return linkUser;
    }

    public void setLinkUser(LinkUser linkUser) {
        this.linkUser = linkUser;
    }

    public LinkDriver getPublishDriver() {
        return publishDriver;
    }

    public void setPublishDriver(LinkDriver publishDriver) {
        this.publishDriver = publishDriver;
    }

    public String getSearchAreaKey() {
        return searchAreaKey;
    }

    public void setSearchAreaKey(String searchAreaKey) {
        this.searchAreaKey = searchAreaKey;
    }

}
